package com.rong.structural.proxyModel.dynamicProxy;

/**
 * 动态代理模式
 */
public class Client {
    public static void main(String[] args) {
        // 创建目标对象
        TeacherDao target = new TeacherDao();
        //给目标对象创建代理对象，可以转成ITeacherDao
        ITeacherDao o = (ITeacherDao) new ProxyFactory(target).newProxyInstance();
        // class com.sun.proxy.$Proxy0 内存中动态生成了代理对象
        System.out.println(o.getClass());
        //  通过代理对象，调用目标对象的方法
        o.teach();

        o.sayHello("zs");
    }
}
